package com.ffcc.fitness.user.mapper;

import com.ffcc.fitness.user.pojo.dto.UserSaveParam;
import com.ffcc.fitness.user.pojo.entity.User;
import com.ffcc.fitness.user.pojo.vo.UserVO;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper {
    /**
     * 根据用户名查询用户信息
     * @param username 用户名
     * @return 用户信息
     */
    UserVO selectByUsername(String username);
    
    /**
     * 根据用户ID查询用户信息
     * @param userId 用户ID
     * @return 用户信息
     */
    UserVO selectByUserId(Long userId);

    /**
     * 根据邮箱查询用户信息
     * @param email 邮箱
     * @return 用户信息
     */
    UserVO selectByEmail(String email);

    void insert(User user);

    void update(UserVO userVO);

    UserVO selectById(Long userId);
}
